package com.qf.dao;

import com.qf.pojo.Admin;
import com.qf.pojo.User;

import java.sql.SQLException;
import java.util.List;

/**
 * @author Kuke
 * @date 2022/12/26 11:29
 * 针对管理员数据访问接口
 */
public interface AdminDao {

    /**
     * 通过用户名查询管理员
     * @param username 管理员名称
     * @return 返回管理员实体
     */
    Admin selectAdminByUsername(String username) throws SQLException;

    /**
     * 数据访问接口查询所有的用户
     * @return 返回用户列表
     */
    List<User> selectUsers() throws SQLException;


    /**
     * 数据访问接口通过用户id查询指定的用户
     * @param uid 用户的uid
     * @return 返回用户实体
     */
    User selectUserByUid(String uid) throws SQLException;

    /**
     * 数据访问接口更新用户
     * @param user 用户实体
     * @return 返回的影响的行数
     */
    int updateUser(User user) throws SQLException;


    /**
     * 数据访问接口删除指定的用户
     * @param uid 用户编号
     * @return 影响的行数
     */
    int deleteUser(String uid) throws SQLException;

    /**
     * 用户的数据访问接口分页查询列表数据
     * @param currentPage  当前页码
     * @param pageSize     每页显示的条数
     * @return   返回的用户列表数据
     */
    List<User> selectUserByPage(int currentPage, int pageSize) throws SQLException;

    /**
     * 查询用户的总记录数
     * @return 返回的总条数
     */
    int selectTotalCount() throws SQLException;
}
